Point cloud data hierarchy

ABSTRACT

One method embodiment comprises storing data on a storage system that is representative of a point cloud comprising a very large number of associated points; organizing the data into an octree hierarchy of data sectors, each of which is representative of one or more of the points at a given octree mesh resolution; receiving a command from a user of a user interface to present an image based at least in part upon a selected viewing perspective origin and vector; and assembling the image based at least in part upon the selected origin and vector, the image comprising a plurality of data sectors pulled from the octree hierarchy, the plurality of data sectors being assembled such that sectors representative of points closer to the selected viewing origin have a higher octree mesh resolution than that of sectors representative of points farther away from the selected viewing origin.

RELATED APPLICATION DATA

The present application is a continuation of U.S. patent applicationSer. No. 15/813,890, filed on Nov. 15, 2017, which is a continuation ofU.S. patent applications Ser. No. 15/486,172, filed on Apr. 12, 2017,which is a continuation of U.S. patent application Ser. No. 15/239,663,filed on Aug. 17, 2016, which is a continuation of U.S. patentapplication Ser. No. 14/718,594 filed on May 21, 2015, which is acontinuation of U.S. patent application Ser. No. 13/789,554 filed onMar. 7, 2013, which claims the benefit under 35 U.S.C. § 119 to U.S.Provisional Applications Ser. No. 61/607,833 filed Mar. 7, 2012. Theforegoing applications are hereby incorporated by reference into thepresent application in their entirety.

FIELD OF THE INVENTION

The present invention relates generally to point cloud processing,storage, and image construction systems and techniques, and moreparticularly to configurations for efficiently presenting images to anoperator using one or more point subsets taken from a point cloudcomprising a very large number of points.

BACKGROUND

The collection of very large point clouds has become somewhatconventional given modern scanning hardware, such as the Hi-definitionLIDAR systems available from Velodyne corporation of Morgan Hill,Calif., under the tradename HDL-64E (TM). Such systems may be coupled tovehicles such as automobiles or airplanes to create very large pointdatasets (i.e., in the range of billions of points or more) that canbecome quite unruly to process, even with modern computing equipment,due to limitations in componentry such as main computer memory. Indeed,notwithstanding current efforts to gather point cloud data to, forexample, create a detailed national topography database, the processingand sharing of such data remains a challenge due to the sheer size andfile structure of the point clouds. For example, if the U.S. governmentcreates a detailed point cloud over a particular county in one stateusing fly-over LIDAR, and a researcher or agency desires to analyze thisdata and conventional techniques to determine how many stop signs are onroads within the county, such analysis will present not only a datacollaboration problem, but also a storage and processing challenge evenif a clear algorithm is identified for detecting a stop signautomatically based upon a particular portion of the subject pointcloud. One solution to at least some of the data sharing challengesremains to ship a hard drive from one party to another if the data fitson a hard drive, but this is obviously suboptimal relative to what theusers would do with two connected client systems if they had the abilityto share the dataset as if it was a much smaller dataset. Anotherchallenge, of course, is in the processing of what likely is arelatively large point cloud with conventionally-available computingpower (i.e., such as that typically available to a consumer orengineer). There is a need for streamlined solutions for storing,processing, and collaborating using very large point cloud datasets.

SUMMARY

One embodiment is directed to a method for presenting multi-resolutionviews of a very large point data set, comprising: storing data on astorage system that is representative of a point cloud comprising a verylarge number of associated points; organizing the data into an octreehierarchy of data sectors, each of which is representative of one ormore of the points at a given octree mesh resolution; receiving acommand from a user of a user interface to present an image based atleast in part upon a selected viewing perspective origin and vector; andassembling the image based at least in part upon the selected origin andvector, the image comprising a plurality of data sectors pulled from theoctree hierarchy, the plurality of data sectors being assembled suchthat sectors representative of points closer to the selected viewingorigin have a higher octree mesh resolution than that of sectorsrepresentative of points farther away from the selected viewing origin.Storing may comprise accessing a storage cluster. The method further maycomprise using a network to intercouple the storage system, controller,and user interface. At least one portion of the network may beaccessible to the internet. The method further may comprise generatingthe user interface with a computing system that houses the controller.The method further may comprise presenting the user interface to theuser within a web browser. The user interface may be configured suchthat the user may adjust the selected origin and vector using an inputdevice, causing the controller to assemble a new image based at least inpart upon the adjusted origin and vector. The very large number ofassociated points may be greater than 1 billion points. The point cloudmay have a uniform point pitch. The point cloud may have a point pitchthat is less than about one meter. The point cloud may have a pointpitch that is less than about 1 centimeter. The point cloud mayrepresent data that has been collected based upon distance measurementscans of objects. The point cloud may be representative of at least oneLIDAR scan. The octree hierarchy of data sectors may be configured suchthat an N level sector represents a centroid of points at the N+1 levelbelow. Each point may be weighted equally in determining the centroid.The points comprising the point cloud may not all be weighted equally indetermining the centroid. The method further may comprise using thecontroller to store data sectors of similar octree mesh resolution insimilar accessibility configurations on the storage system. Thecontroller may be configured to store data sectors of similar octreemesh resolution on a common storage device. The controller may beconfigured to store data sectors of similar octree mesh resolution suchthat they have similar retrieval latencies from the storage system. Theimage may comprise a gradient of octree mesh resolution data sectors ina direction outward from the selected viewing origin.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A-1C illustrate an octree breakdown of a given volume of pointsin space.

FIGS. 2A-2C illustrate a two-dimensional analogy to the breakdowndepicted in FIGS. 1A-1C.

FIG. 3 illustrates an application of an octree for characterizing pointswithin a cloud that are pertinent to seismic geological activity.

FIG. 4 depicts a binary analogy to an octree hierarchy, the binary modelbeing more convenient for illustrative purposes.

FIG. 5 depicts breakdown of a point cloud hierarchy into data sectors ofapproximately 8 nodes each.

FIG. 6 depicts a deterministic naming configuration that may be appliedto name each of the data sectors in a particular hierarchy.

FIG. 7 depicts one embodiment of a processing/storage configuration thatmay be utilized by one or more users on client systems.

FIG. 8 depicts another embodiment of a processing/storage configurationthat may be utilized by one or more users on client systems.

FIG. 9 depicts another embodiment of a processing/storage configurationthat may be utilized by one or more users on client systems.

FIG. 10 depicts another embodiment of a processing/storage configurationthat may be utilized by one or more users on client systems.

FIG. 11 depicts another embodiment of a processing/storage configurationthat may be utilized by one or more users on client systems.

FIG. 12 depicts one configuration for assembling an image using anoctree hierarchy.

FIG. 13 depicts one configuration for assembling an image using anoctree hierarchy.

FIGS. 14A-14G illustrate various images of a structure assembled from avery large point cloud.

FIGS. 15A-15F illustrate various images of a structure assembled from avery large point cloud.

FIGS. 16A-16D illustrate various images of a structure assembled from avery large point cloud.

DETAILED DESCRIPTION

One of the important ingredients to facilitating efficient storing,processing, and collaborating using very large point cloud datasets issome kind of organizational data structure configuration, becausehandling all of the data in the global data set at maximum resolutionwould likely overburden available computing resources. Referring toFIGS. 1A-1C, the notion of creating an octree volume splitting hierarchyis depicted, starting with a single volume box (2) in FIG. 1A that maybe representative of a large number of points contained within the box.For example, in one embodiment, the box may be characterized by aweighted or unweighted average, or centroid, of the points containedwithin the box. The resultant single master point (8) may be representedin a point based illustration as shown in FIG. 2A. Progressing to FIGS.1B and 2B, each time two or more points fall within the same box, thevolume may be subdivided 8 times (in an “octree” format), to yield eightsmaller boxes (10), each of which may also be represented as a point, asin FIG. 2B (14), which may be representative of all of the pointscontained within the pertinent box (10). FIGS. 1C and 2C illustrate yetanother level down an octree hierarchy, wherein the same qualifyinganalysis may be repeated (each time two or more points fall within thesame box, the volume may be subdivided 8 times) to yield anothersubdivision into smaller boxes (12) and representative points (16). Withsuch a configuration, subdivision is more limited in locations of thepoint cloud with only sparse population of points; it is not useful tosubdivide, store, and recall a bunch of empty points or empty boxes.Thus a sparse data structure may be created using such hierarchicalprocessing.

Referring to FIG. 3, a volume of points is represented with an octreehierarchical breakdown of the points in the cloud that comprise thethree-dimensional data stack, which may be representative of seismic orgeological datapoints within a volume of earth, for example. Portions ofthe subject overall volume (18) with fewer points, such as thesub-volume depicted to the upper left (22), which may be representativeof relatively homogeneous geographic material, for example, have notbeen broken down to the same hierarchy level, or “mesh resolution”level, as portions (20) which contain a greater number of points. Theresultant data hierarchy is more efficient than one that would resultfrom characterizing each portion of the overall volume (18) at the samemesh resolution regardless of the point distribution within thepertinent point cloud.

Referring to FIGS. 4-6, for simplicity of illustration, rather thanshowing an octree subdivision hierarchy, a binary subdivision hierarchy(i.e., subdivision into two sub-points for each parent point, as opposedto eight sub-points for each parent point with an octree solution) isdepicted. Referring to FIG. 4, at the top level (26), all of the pointsfrom other levels below (28, 30, 32, 34) are represented, such as by aweighted or unweighted average. For illustrative simplicity, in thefirst five levels of the depicted binary tree (24), the data of thepertinent cloud remains dense enough to continue subdivision as shown(i.e., with each subdivision, there were at least two points beingrepresented by a parent point; presumably with further succession of thehierarchy, some sparse areas would develop wherein the subdivision neednot be continued beyond a certain level, and therefore the tree need notbe maximally dense, as shown).

Referring to FIG. 5, in one embodiment, a given hierarchy may besubdivided into data sectors or “chunks” (36, 38, 40, 42) that may bestored together on a particular storage device or devices. In thedepicted embodiment the top level data sector represents the top threelevels (26, 28, 30) and the top 7 points in the hierarchy (24), and theremaining data sectors (38, 40, 42) represent groups of 8 points. Thewidth or number of points within each data sector represents the maximumwidth of a hierarchy tree stack that is selected to be stored as a unit,and this selection generally may be determined more as a function of howmuch data can be loaded into memory than it is a function of storagedevice (hard drive, etc) size. In one embodiment, the maximum number ofpoints that may be represented within a sector is about 8 to the 6^(th)power. In practice, it is preferable to have less than about 1,000points in an octree sector or file, and due to the sparseness of typicalhierarchy buildout through large clouds of data, one will end up withbetween about 100 and about 10,000 points in each sector or file—or onaverage about 1,000 points, depending upon what portion of the pointcloud is being examined.

Referring to FIG. 6, a tree configuration (24) similar to that shown inFIG. 5 is depicted, with the addition of a point labeling scheme thatmay be automated. For example, in one embodiment, a simple deterministicnaming scheme may involve naming the first level (26) master point “1”,and then as the tree is built out, turns to the left add a “0” to theend of the name, and turns to the right add a “1” to the end of thename. The associated data sectors (36, 38, 40, 42) may be named usingthe lower-leftmost point in one embodiment, so that the top sector isnamed “100”, and the rightmost level 5 (34) sector is named “11000”.Such a fully deterministic naming configuration may be generated alongwith the portions of the tree structure, and may be utilized later forthe quick retrieval of given data sectors. In one embodiment, datasectors that are geometrically adjacent to one another within the treestructure are stored as close to each other on the physical storagedevice or devices as possible, to enable fast retrieval (preferably withsimilar storage retrieval latency) of sectors which may be nearby oneanother as viewed by a user who is assembling one or more views fromadjacent portions of the hierarchy.

To produce a view or composite image from the point cloud for a user,the user typically first must provide some information regarding thedata “frustrum” of interest, or the data that he intends to be withinthe simulated field of view, which may be defined by a point originwithin or outside of the point cloud, a vector originating at the pointorigin and having a three-dimensional vector orientation, and a fieldcapture width (somewhat akin to an illumination beam width when aflashlight is shined into the dark: the field capture width is like thebeam width in that it defines what may be seen by the operator in theimages; it may have a cross-sectional shape, or “field capture shape”shape, that is substantially circular, oval, binocular, rectangular,etc). In one embodiment, significant speed of retrieval and processingefficiencies may be obtained by producing hybrid resolution, ormulti-resolution images or views for a user that comprise assemblies ofportions of the data cloud at resolutions that increase as the sectorsget closer to the origin defined for the particular view beingassembled. For example, in one embodiment, if a user has a point cloudthat is representative of a deep forest of many trees, and the userselects an origin, vector, and field capture width and shape to providehim with a certain view of the forest, it generally is much moreefficient to provide the sectors most immediate to the selectedviewpoint at a higher resolution (i.e., down the data hierarchy) thanfor the sectors farthest away from the selected viewpoint. In otherwords, if the trees in the front of the view are going to block thetrees to the extreme back anyway, why bring in the maximum resolutionrepresentation of the trees in the back, only to have visibility of themblocked anyway—so a lower resolution representation of these trees tothe extreme back may be assembled. In one embodiment a resolutiongradient may be selected to tune the difference in resolution ofelements in the extreme back of the view versus the extreme close;further, the gradient may be tuned to have linear change in resolutionfrom back to front, nonlinear, stepwise at certain distance thresholds,and the like. In one embodiment gradient variables may be tunable by anoperator depending upon computing and bandwidth resources as well.

Referring to FIG. 7, in one embodiment, a user may operate a clientsystem (44), such as a personal computer or smartphone, having agraphical user interface, to engage a controller (46) that is configuredto coordinate the activities of a storage system (48) and a processor(50) to locate, retrieve, and assemble the correct data sectors fordispatch back to the client system (44), preferably in a form whereinthey may be directed straight to the graphics processing unit (“GPU”) ofthe client system (44) for rapid graphical processing (i.e., fast forgraphics processing relative to conventionally processing all inbounddata) into an image that may be displayed for the user on a displayoperatively coupled to, or comprising part of, the client system (44).Referring to FIG. 8, an embodiment is shown similar to that of FIG. 7,but wherein the storage and processor systems (48, 50) comprise portionsof the same larger system, or are closely coupled, as in the samehousing or same location, for I/O efficiency gains. The embodiments ofFIGS. 7 and 8 are fairly elementary embodiments, and in otherembodiments, parallelism of storage and/or processing may beutilized—particularly since the aforementioned data hierarchy schemasare well suited for such parallelism in that the data is very modular(i.e., in sectors) and the naming/access hierarchy may utilized toaccess and process data sectors that are spread across multipleplatforms and/or locations. For example, referring to FIG. 9, a storagecluster (64) comprises multiple interconnected storage systems (48, 52,54, 56). This storage cluster (64) may be operatively coupled to aprocessing cluster (66) comprising multiple interconnected processors orprocessing systems (50, 58, 60, 62). FIG. 10 illustrates anotherembodiment wherein storage and processing resources are grouped togetherinto a storage/processing cluster (72), which may provide yet additionalefficiencies. Also illustrated in FIG. 10 is the notion that multipleusers, in the form of multiple client systems (44, 68, 70) may accessand utilize the storage/processing cluster (72), such as through webbrowsing sessions on machines local to the users in a thin-client typeof configuration subject to connectivity constraints—which, again, arefacilitated by the configurations described above, wherein very largepoint data sets may be distributed and characterized into a large andaccessible tree hierarchies wherein they may be stored and processed insectors in massively parallel configurations remote to the users.Multiple users may use any of the configurations shown in FIGS. 7-9 in asimilar manner. Referring to FIG. 11, in practice, the interactionbetween the client systems of the users (44, 68, 70) and thestorage/processing cluster (72) may be simplified as one whereinfrustrum queries (i.e., defining variables such as origin, vector, fieldof capture width/shape) go out (76) and compressed points (74),preferably in the form of portions of point clouds to be aggregated ashybrid or multi-resolution images on the client systems (44, 68, 70).The controller (46) may be coordinated using a software framework suchas Apache Hadoop, which is specifically designed to enable applicationsto coordinate and function with thousands of nodes and up to petabytesof data. Caching may be utilized to provide fast retrieval of sectorscommonly utilized during a particular process of group of processes—atthe local client system processor level, the local client system GPUlevel, and on the storage system or cluster side as well.

Referring to FIG. 12, in one embodiment, data representative of a pointcloud comprising a very large number of associated points may be storedon a storage system (78), preferably in a parallel storage distributionand processing configuration for rapid hierarchy building, processing,and retrieval capabilities. The data may be organized into an octree orother hierarchy of data sectors, each of which is representative of oneor more points of a given mesh resolution (80). A command may bereceived from a user of a user interface to assemble and/or present animage based at least in part upon a selected viewing perspective originand vector (82), and an image may be assembled based at least in partupon the selected origin and vector, the image comprising an aggregationof data sectors pulled from the tree hierarchy, the plurality of datasectors being assembled such that sectors representative of pointscloser to the selected viewing origin have a higher tree hierarchy meshresolution than that of sectors representative of points farter awayfrom the selected viewing origin (84).

Referring to FIG. 13, in another embodiment, data representative of apoint cloud comprising a very large number of associated points may bestored on a storage system (86), preferably in a parallel storagedistribution and processing configuration for rapid hierarchy building,processing, and retrieval capabilities. The data may be organized intoan octree or other hierarchy of data sectors using an automatic and/orfully deterministic file creation and naming/referencing schema, each ofthe sectors being representative of one or more points of a given meshresolution (88). A command may be received from a user of a userinterface to assemble and/or present an image based at least in partupon a selected viewing perspective origin and vector (90), and an imagemay be assembled based at least in part upon the selected origin andvector, the image comprising an aggregation of data sectors pulled fromthe tree hierarchy (92).

Referring to FIGS. 14A-14G, 15A-15F, and 16A-16D, some sample imagescreated from parallelized octree hierarchy data trees are depicted forillustrative purposes. Referring to FIG. 14A, with an octreeparallelized point cloud representative of a town that contains a largechurch, an operator may select origin, vector, and field capturevariables to be presented with an aggregated image such as that (94)depicted, wherein data sectors pertinent to the side of the church notbeing illustrated are recruited and presented in lower resolution thanthose being directly presented given the selected origin, vector, andfield capture variables. Referring to FIG. 14B, with a quick change oforigin, vector, and field capture variables, a different aggregation ofsectors is depicted as an image (96) to show a different view of theportion of the data cloud, with some similar sectors at the previousresolution that may be cached, and others that must be freshly recruitedat an appropriate resolution given the origin, vector, and field capturevariables. With successive changes in origin, vector, and field capturevariables, as shown in the images of FIGS. 14C-14G (98, 100, 102, 104,106) the controller preferably is configured to recruit, preferably fromparallel resources, appropriate aggregations of data sectors to providethe requisite resolution and field of view per the user commands, andpreferably with minimized latency in not only recruitment but alsoassembly (i.e., preferably as directly as possible to the local GPU).For example, the mesh resolution of the architecture depicted in theimage of FIG. 14G (106) clearly is higher (i.e., tighter mesh/deeperdown the data tree hierarchy) than the same structures as represented inthe image of FIG. 14A (94), and, again, preferably the sectors not mostimmediately visible in the image aggregation are not at as high a meshresolution as those that are most immediate.

Referring to FIGS. 15A-15F, starting far out from a cloud of pointsrepresentative of the Lake Tahoe area of California and Nevada, origin,vector, and field capture variables may be adjusted to create a seriesof images (108, 110, 112, 114, 116, 118) with sequentially customizedsector selection. With the efficiencies of parallel storage andprocessing, and caching, a user of a remote computing session, such asvia a web browser, may “fly” or “travel” relatively seamlessly (and witha latency somewhat akin to that of a Google Earth type of experience,depending upon computing, storage, and connectivity resources) from azoomed out position such as that depicted in the image of FIG. 15A (108)wherein details are barely visible, to a more zoomed-in position such asthat depicted in FIG. 15F (118), wherein details of airplanes on arunway may be visualized. FIGS. 16A-16D depict similar sequential“zooming in” by use of different aggregations of data sectors pulledefficiently and assembled into the depicted images (120, 122, 124, 126).

Various exemplary embodiments of the invention are described herein.Reference is made to these examples in a non-limiting sense. They areprovided to illustrate more broadly applicable aspects of the invention.Various changes may be made to the invention described and equivalentsmay be substituted without departing from the true spirit and scope ofthe invention. In addition, many modifications may be made to adapt aparticular situation, material, composition of matter, process, processact(s) or step(s) to the objective(s), spirit or scope of the presentinvention. Further, as will be appreciated by those with skill in theart that each of the individual variations described and illustratedherein has discrete components and features which may be readilyseparated from or combined with the features of any of the other severalembodiments without departing from the scope or spirit of the presentinventions. All such modifications are intended to be within the scopeof claims associated with this disclosure.

Any of the devices described for carrying out the subject diagnostic orinterventional procedures may be provided in packaged combination foruse in executing such interventions. These supply “kits” may furtherinclude instructions for use and be packaged in containers as commonlyemployed for such purposes.

The invention includes methods that may be performed using the subjectdevices. The methods may comprise the act of providing such a suitabledevice. Such provision may be performed by the end user. In other words,the “providing” act merely requires the end user obtain, access,approach, position, set-up, activate, power-up or otherwise act toprovide the requisite device in the subject method. Methods recitedherein may be carried out in any order of the recited events which islogically possible, as well as in the recited order of events.

Exemplary aspects of the invention, together with details regardingmaterial selection and manufacture have been set forth above. As forother details of the present invention, these may be appreciated inconnection with the above-referenced patents and publications as well asgenerally known or appreciated by those with skill in the art. The samemay hold true with respect to method-based aspects of the invention interms of additional acts as commonly or logically employed.

In addition, though the invention has been described in reference toseveral examples optionally incorporating various features, theinvention is not to be limited to that which is described or indicatedas contemplated with respect to each variation of the invention. Variouschanges may be made to the invention described and equivalents (whetherrecited herein or not included for the sake of some brevity) may besubstituted without departing from the true spirit and scope of theinvention. In addition, where a range of values is provided, it isunderstood that every intervening value, between the upper and lowerlimit of that range and any other stated or intervening value in thatstated range, is encompassed within the invention.

Also, it is contemplated that any optional feature of the inventivevariations described may be set forth and claimed independently, or incombination with any one or more of the features described herein.Reference to a singular item, includes the possibility that there areplural of the same items present. More specifically, as used herein andin claims associated hereto, the singular forms “a,” “an,” “said,” and“the” include plural referents unless the specifically stated otherwise.In other words, use of the articles allow for “at least one” of thesubject item in the description above as well as claims associated withthis disclosure. It is further noted that such claims may be drafted toexclude any optional element. As such, this statement is intended toserve as antecedent basis for use of such exclusive terminology as“solely,” “only” and the like in connection with the recitation of claimelements, or use of a “negative” limitation.

Without the use of such exclusive terminology, the term “comprising” inclaims associated with this disclosure shall allow for the inclusion ofany additional element--irrespective of whether a given number ofelements are enumerated in such claims, or the addition of a featurecould be regarded as transforming the nature of an element set forth insuch claims. Except as specifically defined herein, all technical andscientific terms used herein are to be given as broad a commonlyunderstood meaning as possible while maintaining claim validity.

The breadth of the present invention is not to be limited to theexamples provided and/or the subject specification, but rather only bythe scope of claim language associated with this disclosure.

1. A method for presenting multi-resolution views of a very large pointdata set, comprising: a. storing data on a storage system that isrepresentative of a point cloud comprising a very large number ofassociated points; b. organizing the data into an octree hierarchy ofdata sectors, each of which is representative of one or more of thepoints at a given octree mesh resolution; c. receiving a command from auser of a user interface to present an image based at least in part upona selected viewing perspective origin and vector; and d. assembling theimage based at least in part upon the selected origin and vector, theimage comprising a plurality of data sectors pulled from the octreehierarchy, the plurality of data sectors being assembled such thatsectors representative of points closer to the selected viewing originhave a higher octree mesh resolution than that of sectors representativeof points farther away from the selected viewing origin.
 2. The methodof claim 1, wherein storing comprises accessing a storage cluster. 3.The method of claim 1, further comprising using a network to intercouplethe storage system, controller, and user interface.
 4. The method ofclaim 3, wherein at least one portion of the network is accessible tothe internet.
 5. The method of claim 1, further comprising generatingthe user interface with a computing system that houses the controller.6. The method of claim 1, further comprising presenting the userinterface to the user within a web browser.
 7. The method of claim 1,wherein the user interface is configured such that the user may adjustthe selected origin and vector using an input device, causing thecontroller to assemble a new image based at least in part upon theadjusted origin and vector.
 8. The method of claim 1, wherein the verylarge number of associated points is greater than 1 billion points. 9.The method of claim 1, wherein the point cloud has a uniform pointpitch.
 10. The method of claim 1, wherein the point cloud has a pointpitch that is less than about one meter.
 11. The method of claim 10,wherein the point cloud has a point pitch that is less than about 1centimeter.
 12. The method of claim 1, wherein the point cloudrepresents data that has been collected based upon distance measurementscans of objects.
 13. The method of claim 12, wherein the point cloudrepresents at least one LIDAR scan.
 14. The method of claim 1, whereinthe octree hierarchy of data sectors is configured such that an N levelsector represents a centroid of points at the N+1 level below.
 15. Themethod of claim 14, wherein each point is weighted equally indetermining the centroid.
 16. The method of claim 14, wherein the pointscomprising the point cloud are not all weighted equally in determiningthe centroid.
 17. The method of claim 1, further comprising using thecontroller to store data sectors of similar octree mesh resolution insimilar accessibility configurations on the storage system.
 18. Themethod of claim 17, wherein the controller is configured to store datasectors of similar octree mesh resolution on a common storage device.19. The method of claim 17, wherein the controller is configured tostore data sectors of similar octree mesh resolution such that they havesimilar retrieval latencies from the storage system.
 20. The method ofclaim 1, wherein the image comprises a gradient of octree meshresolution data sectors in a direction outward from the selected viewingorigin.